import axios from 'axios';

// 设置axios基础配置
const API_BASE_URL = 'http://localhost:5175';

// 测试删除购物车商品功能
async function testDeleteCartItem() {
  console.log('开始测试购物车删除功能...');
  
  try {
    // 1. 先获取当前购物车列表
    console.log('步骤1: 获取当前购物车列表');
    const cartListResponse = await axios.get(`${API_BASE_URL}/carts/list`);
    console.log('购物车列表响应:', {
      code: cartListResponse.data.code,
      items: cartListResponse.data.data?.items || cartListResponse.data.data
    });
    
    // 检查购物车是否为空
    const cartItems = cartListResponse.data.data?.items || cartListResponse.data.data || [];
    if (!Array.isArray(cartItems) || cartItems.length === 0) {
      console.log('购物车为空，先添加一个商品到购物车');
      const addResponse = await axios.post(`${API_BASE_URL}/carts/add`, {
        productId: '1', // 假设商品ID为1
        quantity: 1
      });
      console.log('添加商品响应:', { code: addResponse.data.code });
      
      // 再次获取购物车列表
      const updatedCartList = await axios.get(`${API_BASE_URL}/carts/list`);
      const updatedItems = updatedCartList.data.data?.items || updatedCartList.data.data || [];
      if (!updatedItems.length) {
        console.log('添加商品失败，无法继续测试删除功能');
        return;
      }
    }
    
    // 2. 选择第一个商品进行删除测试
    const itemToDelete = cartItems[0];
    const itemId = itemToDelete.id || itemToDelete.productId || itemToDelete.skuId;
    console.log(`步骤2: 准备删除商品，ID: ${itemId}`);
    
    // 3. 调用删除接口
    console.log('步骤3: 调用删除接口');
    const deleteResponse = await axios.delete(`${API_BASE_URL}/carts/delete`, {
      params: {
        ids: [itemId]
      }
    });
    console.log('删除响应:', {
      code: deleteResponse.data.code,
      message: deleteResponse.data.message
    });
    
    // 4. 验证删除结果
    console.log('步骤4: 验证删除结果，再次获取购物车列表');
    const finalCartList = await axios.get(`${API_BASE_URL}/carts/list`);
    const finalItems = finalCartList.data.data?.items || finalCartList.data.data || [];
    
    // 检查是否还有刚才删除的商品
    const deletedItemExists = finalItems.some(item => 
      (item.id === itemId) || (item.productId === itemId) || (item.skuId === itemId)
    );
    
    if (!deletedItemExists) {
      console.log('✅ 测试成功: 商品已成功从购物车中删除');
    } else {
      console.log('❌ 测试失败: 商品仍然存在于购物车中');
    }
    
    console.log('最终购物车商品数量:', finalItems.length);
    
  } catch (error) {
    console.error('测试过程中发生错误:', error.message);
    if (error.response) {
      console.error('错误详情:', {
        status: error.response.status,
        data: error.response.data
      });
    }
  }
}

// 执行测试
console.log('===== 购物车删除功能测试 =====');
await testDeleteCartItem();
console.log('===== 测试结束 =====');